/**
 * Created by PanJiaChen on 16/11/18.
 */
import { isUnique } from './role'
/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * 用户名校验器
 * @param {string} str
 * @returns {Boolean}
 */
export function validUsername(rule, value, callback) {
  if (!value) {
    return callback(new Error('姓名不能为空'))
  }
  if (value.length > 16) {
    return callback(new Error('长度应在1-16个字符以内'))
  }
  setTimeout(() => {
    callback()
  }, 1000)
}
/**
 *
 * @param {角色名校验器} rule
 * @param {*} value
 * @param {*} callback
 * @returns
 */
export const validRoleName = (rule, value, callback) => {
  if (!value) {
    return callback(new Error('用户姓名不能为空'))
  }
  if (value.length > 16) {
    return callback(new Error('长度应在1-16个字符以内'))
  }
  if (value.indexOf(' ') !== -1) {
    return callback(new Error('内容中不允许有空格'))
  }
  setTimeout(() => {
    callback()
  }, 1000)
}
/**
 *角色代码校验器
 * @param {*} rule
 * @param {*} value
 * @param {*} callback
 * @param {*} id
 * @returns
 */
export const validRolCode = (rule, value, callback, id) => {
  debugger
  if (!value) {
    return callback(new Error('用户代码不能为空'))
  }

  if (value.length > 16) {
    return callback(new Error('用户代码长度为1-16个字符以内'))
  }
  if (value.indexOf(' ') !== -1) {
    return callback(new Error('用户代码中不允许有空格'))
  }
  isUnique(value, id).then(res => {
    if (res === false) { return callback(new Error('用户代码重复')) }
  }

  )
  setTimeout(() => {
    callback()
  }, 1000)
}
